set hive.exec.dynamic.partition=true;            --  动态分区
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions=500;         --  每天生成 60 个分区
set hive.exec.max.dynamic.partitions.pernode=500; --  每天生成 60 个分区
--11无二段码 12 二段码无对应目的网点 4退回件 5 转寄件 1 无二段吗异常
--2上环节建包异常 3交叉点因素 6中心发件删除扫描 7 人为因素 8错装
insert overwrite table jms_dm.dm_end_center_error_scan_cnt_dt
select 
 t1.dt as sate_time --查询时间
,t1.center_code --中心编码
,t1.center_name --中心名称
,t1.agent_code --代理区code
,t1.agent_name --代理区
,t1.ordersource_name --订单来源
,count(if(t1.misclass_type in (4,5,3,6,7,8) ,1,null)) as error_cnt  --错分量
,count(1) as operate_cnt --操作量
,count(if(t1.misclass_type=1,1,null)) as second_exception --二段码异常
,count(if(t1.misclass_type=2,1,null)) as up_bagging_exception --上环节建包异常
,count(if(t1.misclass_type=3,1,null)) as equipment_exception --设备异常
,count(if(t1.misclass_type=4,1,null)) as return_cnt --退回件
,count(if(t1.misclass_type=5,1,null)) as send_on --转寄件
,count(if(t1.misclass_type=6,1,null)) as delete_scan --扫描删除
,count(if(t1.misclass_type=7,1,null)) as human_factor--人为因素
,virt_code
,virt_name
,provider_id
,provider_name
,count(if(t1.misclass_type=8,1,null)) as error_load
,count(if(t1.misclass_type=11,1,null)) as no_send_code
,count(if(t1.misclass_type=12,1,null)) as no_dispatch_code
,t1.dt
from jms_dm.dm_end_center_error_scan_detail_dt t1
where dt='{{ execution_date | cst_ds }}'
group by t1.center_code,t1.dt,t1.ordersource_name
       ,t1.center_name,t1.agent_code,t1.agent_name,t1.virt_code,t1.virt_name,t1.provider_id,t1.provider_name
distribute by  abs(hash(t1.center_code)) % 3;

